<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            width: 800px;
            height: 20px;
            border-radius: 4px;
            margin: 100px auto;
            border: 2px solid green;
            position: relative;
        }
        
        #jinDuTiao {
            height: 20px;
            background: orange;
            border-radius: 4px;
            float: left;
        }
        
        #num {
            position: absolute;
            transform: translateY(-50%);
            top: 50%;
            left: 5px;
        }
    </style>
</head>

<body>
    <div class="box">
        <div id="jinDuTiao" style="width: 0px;"></div>
        <span id="num">0%</span>
    </div>
    <script>
        // 通过定时器来改变进度条的宽度
        var timer = setInterval(function() {
            // 获取原来的宽度
            var style = parseInt(jinDuTiao.style.width);
            // 给一个变量在原来的基础上加上13
            curstyle = style + 13;
            // 给if条件不让进度条超过800px
            if (curstyle >= 800) {
                curstyle = 800;
                clearInterval(timer)
            }
            // 
            // 在原来的基础上加上13px，在赋值给元素的宽度
            jinDuTiao.style.width = curstyle + 'px';
            // 给数值元素添加left值 始终和进度条保持3px的宽度
            num.style.left = curstyle + 3 + 'px';
            // 给进度添加百分比 取整
            num.innerHTML = parseInt((curstyle / 800) * 100) + '%'
        }, 100)
    </script>
</body>

</html>